iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Cloud Native

2023 年了,一起來學 CDN - 你也可以瞭解的 CloudFront 系列 第 2

Day 02 - CDN 是什麼,是怎麼提供服務的?

  • 分享至 

  • xImage
  •  

Day 02 - 讓我們先從 CDN 是什麼開始說起。

CDN 是什麼?

再次,我們從透過 Wiki 瞭解 CDN 的定義。

(中文版) 
內容傳遞網路(英語:Content Delivery Network或Content Distribution Network,縮寫:CDN)是指一種透過網際網路互相連接的電腦網路系統,利用最靠近每位使用者的伺服器,更快、更可靠地將音樂、圖片、影片、應用程式及其他檔案傳送給使用者,來提供高效能、可擴展性及低成本的網路內容傳遞給使用者。
(英文版)
A content delivery network, or content distribution network (CDN), is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially relative to end users. CDNs

還是有點模糊,沒關係,我們換個方式說明,繼續使用前一篇文章引用的 Wiki 圖片。

先來看沒有使用 CDN 時(原圖的左半邊):
  • 圖片中央的電腦:代表著提供網頁服務的伺服器 (HTTP Server)。
  • 周邊一圈的電腦:代表是 HTTP Client(ex: 瀏覽器)
    所有的 HTTP Client 都必須連到 HTTP Server
    https://ithelp.ithome.com.tw/upload/images/20230904/20162502SXT5fPZpak.png
再來看有使用 CDN 時
  • 圖片中央的電腦:代表著提供網頁服務的伺服器 (HTTP Server)。
  • 第二圈的電腦們: HTTP Server 的分身,我們稱之為 "節點"(~以後會考的重點~)。
  • 最外一圈的電腦:代表是 HTTP Client(ex: 瀏覽器)
    所有的 HTTP Client 看來都可以跟 HTTP Server 的分身拉資料(距離近一點,也就可以更快一點拿到資料)
    https://ithelp.ithome.com.tw/upload/images/20230904/201625027ZBK9L6khH.png

而這樣的情境,也是 CDN 最主要的目標功能 - 讓 Client 端可以更快的取得 HTTP Server 上的資料。


接下來,來瞭解 CDN 大多以哪些方式來完成任務。

    1. 如果資料可以存在節點中再讓其它人使用: 把 HTTP Server 上的回應存在靠近 Client 的節點上,讓 Client 可以快一點拿到資料。
    1. 如果資料還沒(或無法)存在節點中: 減少 Client 端要抓取資料時,相關所有「建立連線」的時間(ex: TCP 連線、HTTPS連線)
    1. 讓 Client 經過路線比較有品質保障的網路: 讓 Client 請求進早進入 CDN 業者能控制網路環境,減少留在 Public Internet 的時間。
    1. 減少傳輸量: 透過各種壓縮,減少實際傳輸的資料量 (Ex: 使用 gzip or brotli )

以上作法,是 CDN 服務(Ex: CloudFront )常使用的方法,彼此間可以互相搭配。


那麼,在使用 CDN 時,還有哪些好處呢? 有的,常見的好處包含(但不限定於):

  • 加快網站回應請求的速度
  • 隱藏您的 HTTP Server,避免 HTTP Server 直接暴露在眾人眼前。
  • 保護網站應付突發流量
  • 阻擋 DDoS 攻擊
  • 提供邊緣運算能力
  • 提供/滿足合規要求
  • 降低費用

這些好處,後續的文章也會陸續提到,我們屆時再一同瞭解。

明日預告: Day 03 - 開始動手,以 CloudFront 作為自己的第一個 CDN 方案

上一篇
Day 01 - 一起來學 CDN - 寫在開始之前
下一篇
Day 03 - 開始動手,以 CloudFront 作為自己的第一個 CDN 方案(Part I)
系列文
2023 年了,一起來學 CDN - 你也可以瞭解的 CloudFront 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言